了解什么是數(shù)據(jù)庫安全以及相關(guān)概念,例如安全威脅、要遵循的最佳實(shí)踐、測試類型、技術(shù)、測試流程等:在本教程中,我們將探討什么是數(shù)據(jù)庫安全性、存在的數(shù)據(jù)庫威脅類型、保護(hù)我們的數(shù)據(jù)庫的重要性以及可用于執(zhí)行數(shù)據(jù)庫安全測試的一些工具。我們還將了解數(shù)據(jù)庫安全最佳實(shí)踐、數(shù)據(jù)庫安全測試類型、流程和技術(shù)。
什么是數(shù)據(jù)庫安全
數(shù)據(jù)庫安全是為保護(hù)數(shù)據(jù)庫免受惡意攻擊而采取的控制和措施。這也是保護(hù)訪問此數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)的過程。如今,許多組織都忽視了數(shù)據(jù)庫安全,他們忘記了任何組織中任何攻擊者的最大目標(biāo)都是訪問存儲重要和敏感??信息的數(shù)據(jù)庫并竊取這些重要數(shù)據(jù)。
標(biāo)準(zhǔn)數(shù)據(jù)庫安全包含旨在保護(hù)數(shù)據(jù)庫管理系統(tǒng) (DBMS) 的不同安全控制、工具和措施。目的是保護(hù)公司信息的機(jī)密性、完整性和可用性。每個企業(yè)都應(yīng)該通過保護(hù)數(shù)據(jù)庫的底層基礎(chǔ)設(shè)施(如網(wǎng)絡(luò)和服務(wù)器)來實(shí)施數(shù)據(jù)庫安全措施。
攻擊者總是在設(shè)計(jì)一種新的方法來滲透數(shù)據(jù)庫并竊取企業(yè)組織的數(shù)據(jù),而且這種情況每天都在發(fā)生。這意味著每個組織都必須確保他們的數(shù)據(jù)庫足夠強(qiáng)大以抵御任何攻擊。
數(shù)據(jù)庫安全最佳實(shí)踐
我們目前有多種數(shù)據(jù)庫安全方法,但有些組織需要實(shí)施一些最佳實(shí)踐,以確保其數(shù)據(jù)庫更安全。這些數(shù)據(jù)庫安全最佳實(shí)踐在其他方面實(shí)施,以最大限度地減少組織內(nèi)的漏洞,同時最大限度地保護(hù)其數(shù)據(jù)庫。雖然這些方法可以單獨(dú)實(shí)施,但它們可以很好地協(xié)同工作以保護(hù)您的公司數(shù)據(jù)庫。
其中一些方法包括:
- 您需要限制未經(jīng)授權(quán)的訪問,使用非常強(qiáng)大的憑據(jù),并實(shí)施多因素訪問。
- 對數(shù)據(jù)庫進(jìn)行負(fù)載/壓力測試,以確定它在分布式拒絕服務(wù) (DDoS) 攻擊 或用戶訪問期間不會崩潰。
- 需要提供物理安全性,例如鎖定服務(wù)器機(jī)房并讓安全團(tuán)隊(duì)監(jiān)控對服務(wù)器機(jī)房的每次物理訪問。
- 物理硬件需要定期維護(hù),并且需要制定適當(dāng)?shù)臑?zāi)難恢復(fù)計(jì)劃,例如定期備份數(shù)據(jù)庫以減輕可能發(fā)生的災(zāi)難。
- 最好不要在包含數(shù)據(jù)庫的同一臺服務(wù)器上托管 Web 服務(wù)器和應(yīng)用程序。
- 任何現(xiàn)有系統(tǒng)都需要進(jìn)行審查,以確保其中沒有漏洞,并制定計(jì)劃以減輕發(fā)現(xiàn)的任何漏洞。
- 實(shí)施數(shù)據(jù)加密系統(tǒng),保護(hù)公司數(shù)據(jù)的完整性和機(jī)密性。這會加密運(yùn)動或靜止的數(shù)據(jù),在有人可以訪問它之前,需要使用正確的密鑰對其進(jìn)行解密。
- 在外圍層配置防火墻是一種數(shù)據(jù)庫安全最佳實(shí)踐。這有助于防止攻擊者訪問組織的網(wǎng)絡(luò)以竊取或破壞數(shù)據(jù)。我們還有提供與傳統(tǒng)防火墻相同的優(yōu)勢的 Web 應(yīng)用程序防火墻 (WAF)。
- 數(shù)據(jù)庫加密是最有效的數(shù)據(jù)庫安全實(shí)踐之一,因?yàn)樗窃跀?shù)據(jù)在數(shù)據(jù)庫中的位置實(shí)施的。數(shù)據(jù)既可以動態(tài)加密,也可以靜態(tài)加密。
- 管理密碼和權(quán)限對于維護(hù)數(shù)據(jù)庫安全非常重要。此工作通常由維護(hù)受管理密碼和其他雙重或多重身份驗(yàn)證的訪問控制列表的安全人員執(zhí)行。
- 實(shí)現(xiàn)敏感數(shù)據(jù)庫的隔離總是會讓訪問數(shù)據(jù)庫變得非常困難。任何未經(jīng)授權(quán)的人都不會發(fā)現(xiàn)識別敏感數(shù)據(jù)庫很容易,在某些情況下甚至可能不知道存在這樣的東西。
- 需要實(shí)施變更管理,這將有助于概述在任何變更期間將用于保護(hù)數(shù)據(jù)庫的所有流程。記錄所做的更改是非常必要的,這對于保護(hù)公司數(shù)據(jù)庫是必要的。
- 進(jìn)行數(shù)據(jù)庫審計(jì)非常重要,需要定期讀取應(yīng)用程序和數(shù)據(jù)庫的日志文件。此日志通常用于審計(jì)目的,例如了解誰在訪問數(shù)據(jù)庫時訪問了數(shù)據(jù)庫以及對數(shù)據(jù)庫執(zhí)行了哪些操作。
數(shù)據(jù)庫安全性差的影響
數(shù)據(jù)庫安全對于每個擁有在線業(yè)務(wù)的公司來說都是非常重要的。如果沒有適當(dāng)?shù)臄?shù)據(jù)庫安全性,那么它可能會導(dǎo)致數(shù)據(jù)丟失或數(shù)據(jù)泄露,這可能對公司的財(cái)務(wù)和聲譽(yù)造成嚴(yán)重的負(fù)面影響。雖然實(shí)施數(shù)據(jù)庫安全可能并不容易,但對于每家將資源安全放在首位的公司來說,這些做法都非常關(guān)鍵。
下面給出了來自未受保護(hù)組織的數(shù)據(jù)庫泄漏的影響:
- 對品牌的破壞性影響:一旦確認(rèn)公司出現(xiàn)違規(guī)行為,通常會影響組織的品牌和聲譽(yù),因?yàn)榭蛻艉蜆I(yè)務(wù)合作伙伴將失去對保護(hù)其數(shù)據(jù)的公司的信任和信心。負(fù)面影響是非常災(zāi)難性的,因?yàn)樵S多人會退出光顧他們。
- 對業(yè)務(wù)連續(xù)性的破壞性影響:許多受到數(shù)據(jù)庫入侵攻擊的公司從未從攻擊中恢復(fù)過來,而有些公司在入侵被關(guān)閉之前無法運(yùn)營。這種影響已經(jīng)關(guān)閉了如此多的企業(yè),這就是為什么每個組織都必須將數(shù)據(jù)庫安全理念納入其業(yè)務(wù)連續(xù)性計(jì)劃 (BCP) 的原因。
- 對知識產(chǎn)權(quán)的破壞性影響:如果數(shù)據(jù)庫被入侵,那么一些敏感的專有文件、商業(yè)機(jī)密和其他形式的知識產(chǎn)權(quán)很可能會被竊取或暴露給公眾。這對企業(yè)來說從來都不是好事,因?yàn)楦偁帉κ挚梢岳眠@種情況。
- 對財(cái)務(wù)的破壞性影響:當(dāng)確認(rèn)數(shù)據(jù)泄露時,組織總是會花錢與客戶溝通、管理情況、對受損系統(tǒng)進(jìn)行必要的修復(fù)以及調(diào)查(如取證調(diào)查)的財(cái)務(wù)成本。
- 罰款和罰款的支付:安全是非常嚴(yán)重的事情,這也是我們制定各種標(biāo)準(zhǔn)的原因,每個組織都必須遵守其他標(biāo)準(zhǔn)才能繼續(xù)運(yùn)營。如果他們不遵守,那么他們可能會受到罰款或處罰。我們擁有通用數(shù)據(jù)保護(hù)條例 (GDPR)、支付卡行業(yè)數(shù)據(jù)安全標(biāo)準(zhǔn) (PCI DSS)、健康保險(xiǎn)流通與責(zé)任法案 (HIPAA) 等標(biāo)準(zhǔn)。
數(shù)據(jù)庫上的威脅類型
盡管我們對數(shù)據(jù)庫有如此多的內(nèi)部和外部威脅,但我們將在本教程中討論其中的一些。
#1) 不受限制的數(shù)據(jù)庫特權(quán)
這通常發(fā)生在數(shù)據(jù)庫用戶被授予系統(tǒng)內(nèi)的多個特權(quán)時,這會導(dǎo)致特權(quán)濫用,這可能是過度的、合法的或未使用的濫用。該行為可以由公司的現(xiàn)任員工或前員工執(zhí)行。
有一些需要實(shí)現(xiàn)的控件如下所示:
- 盡一切努力實(shí)施非常嚴(yán)格的訪問控制和權(quán)限控制策略。
- 確保您不會向所有員工授予或批準(zhǔn)過多的權(quán)限,并盡可能留出時間立即停用任何過時的權(quán)限。
#2) SQL 注入
當(dāng)惡意代碼通過 Web 應(yīng)用程序的前端注入然后傳遞到后端時,就會發(fā)生這種類型的SQL 注入攻擊。此過程允許攻擊者對存儲在數(shù)據(jù)庫中的數(shù)據(jù)具有絕對訪問權(quán)限。目的通常是竊取數(shù)據(jù)或損壞數(shù)據(jù)。SQL 注入針對的是傳統(tǒng)數(shù)據(jù)庫,而 NoSQL 注入針對的是大數(shù)據(jù)數(shù)據(jù)庫。
#3) 糟糕的審計(jì)追蹤
根據(jù)某些安全標(biāo)準(zhǔn),需要記錄數(shù)據(jù)庫上的每個事件以用于審計(jì)目的。如果您無法提供數(shù)據(jù)庫審計(jì)日志的證據(jù),那么它可能會構(gòu)成非常嚴(yán)重的安全風(fēng)險(xiǎn),因?yàn)闊o論何時發(fā)生入侵,都無法對其進(jìn)行調(diào)查。
#4) 暴露的數(shù)據(jù)庫備份
每個組織都需要一個非常好的備份計(jì)劃,但是當(dāng)備份暴露時,它們很容易受到損害和盜竊。我們有許多成功的安全漏洞,只是因?yàn)閿?shù)據(jù)庫備份被暴露了。生產(chǎn)數(shù)據(jù)庫和備份的加密和審計(jì)是保護(hù)企業(yè)敏感數(shù)據(jù)的最佳形式。
#5) 數(shù)據(jù)庫配置錯誤
在數(shù)據(jù)庫中發(fā)現(xiàn)的一些威脅是數(shù)據(jù)庫配置錯誤的結(jié)果。攻擊者通常利用具有默認(rèn)帳戶和配置設(shè)置的數(shù)據(jù)庫。這是一個危險(xiǎn)信號,在配置數(shù)據(jù)庫時不應(yīng)該有任何類似默認(rèn)帳戶的東西,并且應(yīng)該以一種對入侵者來說很難的方式配置設(shè)置。
#6) 缺乏安全專業(yè)知識
如果缺乏安全專業(yè)知識并且沒有基本的數(shù)據(jù)庫安全規(guī)則,那么這可能會導(dǎo)致數(shù)據(jù)泄露。安全人員可能缺乏實(shí)施安全控制和其他安全策略所需的知識。
#7) 拒絕服務(wù) (DoS)
這是一種影響服務(wù)可用性的攻擊類型,它會影響數(shù)據(jù)庫服務(wù)器的性能并使數(shù)據(jù)庫服務(wù)對用戶不可用。例如,如果請求非常重要的財(cái)務(wù)數(shù)據(jù)并且由于 DoS 而無法訪問數(shù)據(jù)庫,那么這可能會導(dǎo)致資金損失。
#8) 數(shù)據(jù)管理不善
一些企業(yè)組織未能以正確的方式管理他們的敏感數(shù)據(jù),他們未能保持準(zhǔn)確的數(shù)據(jù)清單,因此其中一些敏感數(shù)據(jù)可能會落入壞人之手。如果沒有對添加到數(shù)據(jù)庫中的新數(shù)據(jù)進(jìn)行適當(dāng)?shù)那妩c(diǎn),那么這可能會被暴露。在靜止時加密數(shù)據(jù)的原因非常重要,并對其實(shí)施必要的權(quán)限和控制。
數(shù)據(jù)庫安全測試
我們?yōu)槭裁匆M(jìn)行數(shù)據(jù)庫安全測試? 執(zhí)行此測試是為了發(fā)現(xiàn)數(shù)據(jù)庫安全配置中的任何弱點(diǎn)或漏洞,并減輕對數(shù)據(jù)庫的任何不必要的訪問。必須保護(hù)所有敏感數(shù)據(jù)免受入侵者的侵害,這就是為什么定期安全檢查非常重要和強(qiáng)制性的原因。以下是為什么必須進(jìn)行數(shù)據(jù)庫安全測試的主要原因:
- 驗(yàn)證
- 授權(quán)
- 會計(jì)
- 保密
- 正直
- 可用性
- 彈力
此過程涉及根據(jù)業(yè)務(wù)需求測試不同的層。測試層包括業(yè)務(wù)層、接入層和UI層。
數(shù)據(jù)庫測試過程
- 準(zhǔn)備環(huán)境
- 進(jìn)行測試
- 評估結(jié)果
- 準(zhǔn)確的報(bào)告
數(shù)據(jù)庫安全測試的類型
- 滲透測試:這是模擬對網(wǎng)絡(luò)、計(jì)算機(jī)系統(tǒng)或 Web 應(yīng)用程序的網(wǎng)絡(luò)攻擊以檢測其中的任何漏洞的過程。
- 漏洞掃描:這是使用掃描程序掃描系統(tǒng)中的任何已知漏洞,以進(jìn)行適當(dāng)?shù)男迯?fù)和漏洞修補(bǔ)。
- 安全審計(jì):評估組織安全策略和標(biāo)準(zhǔn)的實(shí)施和符合性的過程。
- 風(fēng)險(xiǎn)評估:這是識別所有可能對系統(tǒng)造成嚴(yán)重?fù)p害的危害和風(fēng)險(xiǎn)的整體過程。
使用數(shù)據(jù)庫測試工具的好處
我們使用該工具的主要原因是它可以更快地執(zhí)行任務(wù),從而節(jié)省時間。當(dāng)今的大多數(shù)測試技術(shù)都是使用其中一些工具執(zhí)行的。我們既有付費(fèi)的也有免費(fèi)的在線測試工具,這些工具可以被利用并且非常易于理解和有效地使用。這些工具可以分為負(fù)載和性能測試工具、測試生成器工具和基于 SQL 的工具。
由于可以確定在數(shù)據(jù)庫中可以找到某種 Instability,因此需要在啟動應(yīng)用程序之前進(jìn)行 DB 測試。該測試必須在軟件開發(fā)生命周期的早期進(jìn)行,以了解數(shù)據(jù)庫系統(tǒng)中存在的漏洞,并且使用其中一些工具將有助于有效地進(jìn)行檢測。如果發(fā)生數(shù)據(jù)庫崩潰,那么這將使整個應(yīng)用程序或系統(tǒng)變得毫無價(jià)值,這可能會導(dǎo)致更多的最終結(jié)果。定期測試之所以重要,是因?yàn)樗鼘⒋_保系統(tǒng)的生產(chǎn)力。
數(shù)據(jù)庫安全測試技術(shù)
在數(shù)據(jù)庫安全測試期間,可以實(shí)施不同的測試技術(shù)。我們將在下面討論其中一些技術(shù):
#1) 滲透測試
這是對系統(tǒng)的故意攻擊,旨在發(fā)現(xiàn)安全漏洞,攻擊者可以通過這些漏洞訪問包括數(shù)據(jù)庫在內(nèi)的整個系統(tǒng)。如果發(fā)現(xiàn)弱點(diǎn),則立即采取措施修復(fù)和減輕此類漏洞可能造成的任何威脅。
#2) 風(fēng)險(xiǎn)評估
這是一個進(jìn)行風(fēng)險(xiǎn)評估的過程,以確定與實(shí)施的數(shù)據(jù)庫安全配置類型相關(guān)的風(fēng)險(xiǎn)級別,以及發(fā)現(xiàn)漏洞的可能性。此評估通常由安全專家執(zhí)行,他們可以分析流程中涉及的風(fēng)險(xiǎn)量
#3) SQL 注入驗(yàn)證
這涉及對插入數(shù)據(jù)庫的值進(jìn)行適當(dāng)?shù)那謇怼@纾谌魏螒?yīng)用程序中都應(yīng)禁止輸入一些特殊字符(如“,”)或輸入一些關(guān)鍵字(如 SELECT 語句)。如果沒有進(jìn)行此驗(yàn)證檢查,那么理解查詢語言的數(shù)據(jù)庫會將查詢視為有效請求。
如果輸入彈出數(shù)據(jù)庫錯誤,則意味著該請求已發(fā)送到數(shù)據(jù)庫服務(wù)臺并已以肯定或否定響應(yīng)執(zhí)行。在這種情況下,數(shù)據(jù)庫很容易受到 SQL 注入的攻擊。SQL 注入是當(dāng)今的主要攻擊媒介,因?yàn)楣粽邔@得對包含非常敏感數(shù)據(jù)的應(yīng)用程序數(shù)據(jù)庫的訪問權(quán)限。
這種攻擊通常實(shí)施的接口是應(yīng)用程序上的輸入表單,為了解決這個問題,必須在代碼中添加適當(dāng)?shù)妮斎肭謇怼1仨殞斎虢缑嫔鲜褂玫拿總€括號、逗號和引號進(jìn)行 SQL 注入驗(yàn)證。
#4) 密碼破解
在測試期間確定系統(tǒng)中維護(hù)了強(qiáng)密碼策略始終非常重要。因此,在進(jìn)行滲透測試時,檢查是否遵循此密碼策略非常重要,我們可以像黑客一樣使用密碼破解工具或猜測不同的用戶名/密碼來做到這一點(diǎn)。開發(fā)或使用金融應(yīng)用程序的公司必須確保在其數(shù)據(jù)庫管理系統(tǒng)上設(shè)置嚴(yán)格的密碼策略。
#5) 安全審計(jì)
需要定期進(jìn)行安全審計(jì),以評估組織的安全策略并確定是否遵循標(biāo)準(zhǔn)。不同的企業(yè)都有自己獨(dú)特的安全標(biāo)準(zhǔn),一旦制定了這些標(biāo)準(zhǔn),就沒有回頭路可走。如果有人不遵守這些標(biāo)準(zhǔn)中的任何一個,那么這將被視為嚴(yán)重后果。安全標(biāo)準(zhǔn)的一個例子是 ISO 27001。
結(jié)論
每個組織都應(yīng)將其數(shù)據(jù)庫安全作為其日常業(yè)務(wù)不可或缺的一部分,因?yàn)閿?shù)據(jù)是關(guān)鍵。他們不應(yīng)該考慮建立結(jié)構(gòu)所花費(fèi)的成本,而應(yīng)該考慮成本效益。任何公司都可以訂閱各種測試工具并將其集成到他們的安全測試計(jì)劃中。當(dāng)您檢查糟糕的數(shù)據(jù)庫安全性對某些組織的影響時,您會看到造成的破壞以及一些組織如何無法幸免于難。所以這里的建議是非常重視數(shù)據(jù)庫的安全性。